SCEP协议简介 |
您所在的位置:网站首页 › system center endpoint protection 下载 › SCEP协议简介 |
本篇绝大部分内容出自CISCO官方文档,本人对此协议理解也并不深刻,本人水平有限,有条件的请移步CISCO官方文档: https://www.cisco.com/c/en/us/support/docs/security-vpn/public-key-infrastructure-pki/116167-technote-scep-00.html 概述 SCEP(Simple certificate enrollment protocol), 简单证书注册协议,最初由CISCO起草,简而言之,就是一个用来注册数字证书的协议,“数字证书”本篇不再过多介绍。 SCEP的特点 基于HTTP的请求/响应模式(使用GET方法,POST也可以支持)只支持RSA加密(目前国际通用、使用广泛的公钥算法也就RSA, ECC, 而ECC是没有公钥加密,私钥解密标准的,我猜这个特点有这个原因吧)证书请求用PKCS #10标准(就是一个证书请求格式和数据标准,本篇不做介绍)采用PKCS #7标准传输签名/加密数据(HTTP请求非常不安全,容易被拦截,篡改)支持服务器异步授权,客户端定期轮询具有有限的证书吊销列表(CRL)检索支持(首选方法是通过CRL分发点(CDP)查询,出于可伸缩性原因)(翻译自官方文档,本人水平有限,对CRL还没有什么理解)不支持在线证书吊销需要在证书签名请求(CSR)中使用质询密码字段,该字段必须仅在服务器和请求者之间共享(翻译自官方文档,对这个也不是很清楚,知道的大佬还望不吝赐教哈)证书注册过程简述 取得CA证书,并对其进行验证生成一个CSR(Certificate Signing Reques),并把它安全地传输到CA轮询SCEP服务器,检查证书是不是已经被签名了如果需要, 检索CRL证书注册流程 客户端 :取得服务器CA证书: 客户端发送一个请求,通常的取得CA证书的请求格式 : GET /cgi-bin/pkiclient.exe?operation=GetCACert , 发送该请求后SCEP服务器会传回服务器的CA证书, 这时只是取得了服务器的CA证书,并没有做认证服务器 :返回CA证书给客户端客户端 :生成SCEP请求,发送给服务器: 证书签发请求最终会封装成一个HTTP请求通过GET方式发送给服务器, 格式类似:/cgi-bin/pkiclient.exe?operation=PKIOperation&message= MIIHCgYJKoZIhvcNAQcCoIIG%2BzCCBvcCAQExDjA… 请求很长,这里省略。 下面解析一下这个HTTP请求具体的内容: “message=” 后面是一串URL编码的请求字符串,对其进行URL解码后, 它将是一个base64编码的PKCS #7签名数据, 这个数据是被客户端签名的, 用以证明客户端确实发送了这段数据,且这段数据确实是客户端发送的,且在传输过程中没有被非法篡改… 总而言之, 是为了保证数据传输的完整、不可篡改、不可抵赖性 这段PKCS #7签名数据的内容:借CISCO官方图片一用,很清晰:![]() ![]() 下面介绍一下上面用到的SCEP请求格式: GET CGI-path/pkiclient.exe?operation=operation&message=message HTTP/version CGI-path :指向处理SCEP请求的公共网关接口(CGI)程序(翻译有点怪,我还不太理解,总之是SCEP服务器的地址,端口,原文:“CGI-path is dependent on the server and points to the Common Gateway Interface (CGI) program that handles SCEP requests”) operation: PKIOperattion: 需要message字段, 它可以是以下类型: PKCSReq : PKCS #10 CSRGetCertInitial : 轮询CSR的是否已经签发证书GetCert / GetCRL : 取得证书或CRL GetCACert:获取CA证书, message字段可以省略message:该字段可能是一个pkiMessage结构,是一个经过DER和base64编码的PKCS #7签名数据结构,它包含: PKCS#7 SignedData 结构示意见上面两张图片PKCS#7 EnvelopedData 结构示意见上面两张图片 messageData : CSR, CRL,证书… SignerInfo with authenticatedAttributes:一些属性 transactionID, messageType, senderNonce :用于鉴别客户端身份,senderNonce 是一个一次性的随机数,发送者填充,收到响应后响应包中也有senderNonce, 可做进一步校验数据是否被篡改pkiStatus :仅在SCEP响应中有,标志当前请求的响应状态(0:成功,2:拒绝,3:挂起,等待审核)recipientNonce :接收者的Nonce, 也是一个一次性随机数failInfo : 仅在失败时有,标识失败原因 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |